<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Inventory.class</title>
    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.62.4" />
    <link rel="home" href="index.html" title="Getting Started with Berkeley DB" />
    <link rel="up" href="dpl_example.html" title="Chapter 6. A DPL Example" />
    <link rel="previous" href="dpl_example.html" title="Chapter 6. A DPL Example" />
    <link rel="next" href="mydbenv-persist.html" title="MyDbEnv" />
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Inventory.class</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="dpl_example.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 6. A DPL Example</th>
          <td width="20%" align="right"> <a accesskey="n" href="mydbenv-persist.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="inventoryclass"></a>Inventory.class</h2>
          </div>
        </div>
        <div></div>
      </div>
      <p>
                            Our example's <tt class="classname">Inventory</tt>
                            class is much like our <tt class="classname">Vendor</tt>
                            class in that it is simply used to encapsulate
                            data. However, in this case we want to be able
                            to access objects two different ways: by
                            product SKU and by product name.
                    </p>
      <p>
                        In our data set, the product SKU is required to be
                        unique, so we use that as the primary key. The
                        product name, however, is not a unique value so we
                        set this up as a secondary key.
                    </p>
      <p>
                         The class appears as follows in our example:
                    </p>
      <pre class="programlisting">package persist.gettingStarted;

import com.sleepycat.persist.model.Entity;
import com.sleepycat.persist.model.PrimaryKey;
import static com.sleepycat.persist.model.Relationship.*;
import com.sleepycat.persist.model.SecondaryKey;

@Entity
public class Inventory {

    // Primary key is sku
    @PrimaryKey
    private String sku;

    // Secondary key is the itemName
    @SecondaryKey(relate=MANY_TO_ONE)
    private String itemName;

    private String category;
    private String vendor;
    private int vendorInventory;
    private float vendorPrice;

    public void setSku(String data) {
        sku = data;
    }

    public void setItemName(String data) {
        itemName = data;
    }

    public void setCategory(String data) {
        category = data;
    }

    public void setVendorInventory(int data) {
        vendorInventory = data;
    }

    public void setVendor(String data) {
        vendor = data;
    }

    public void setVendorPrice(float data) {
        vendorPrice = data;
    }

    public String getSku() {
        return sku;
    }

    public String getItemName() {
        return itemName;
    }

    public String getCategory() {
        return category;
    }

    public int getVendorInventory() {
        return vendorInventory;
    }

    public String getVendor() {
        return vendor;
    }

    public float getVendorPrice() {
        return vendorPrice;
    }
} </pre>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="dpl_example.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="dpl_example.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="mydbenv-persist.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">Chapter 6. A DPL Example </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> MyDbEnv</td>
        </tr>
      </table>
    </div>
  </body>
</html>
